//
//  FeatActions.h
//  This file is part of D&D Manager
//
//  Created by Matthew Hutton on 25/02/2007.
//
//
//D&D Manager, a D&D Character and battle management program.
//Copyright (C) 2007, Matthew Hutton
//
//This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
//
//This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License along with this program; if not, write to:
//The Free Software Foundation, Inc.,
//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

#import <Cocoa/Cocoa.h>


@interface FeatActions : NSObject {

}
+(void)activateInCodeTheFeat:(NSManagedObject *)feat
			   nowShouldBeOn:(BOOL)on;
+(int)checkFeat:(NSManagedObject *)feat
		 forKey:(NSString *)key;
+(void)setupFeatsForCaster:(NSManagedObject *)obj
				 forTarget:(NSManagedObject *)obj2
				   atRange:(int)range
					 nowOn:(BOOL)nowOn;
+(int)checkFilterForFeat:(NSManagedObject *)feat
		   withCharacter:(NSManagedObject *)obj;
+(void)processFeat:(NSManagedObject *)feat
		  forKeyNo:(int)no
		 onWeapons:(NSArray *)weapons
		  forwards:(BOOL)f;
+(void)processFeat:(NSManagedObject *)feat
		  forKeyNo:(int)no
			onChar:(NSManagedObject *)obj
		  forwards:(BOOL)f;
+(void)processFeat:(NSManagedObject *)feat
		  forKeyNo:(int)no
		   withKey:(NSString *)key
		   withMod:(int)mod
			onChar:(NSManagedObject *)obj
		  forwards:(BOOL)f;
+(void)processFeat:(NSManagedObject *)feat
		  forKeyNo:(int)no
		   onSpell:(NSManagedObject *)spell
		  forwards:(BOOL)f;
+(int)processValue:(int)value
byReverseOfModifier:(NSString *)mod;
+(int)processValue:(int)value
		byModifier:(NSString *)mod;
+(void)enableHastedForChar:(NSManagedObject *)obj;
+(void)disableHastedForChar:(NSManagedObject *)obj;
+(void)enableSlowedForChar:(NSManagedObject *)obj;
+(void)disableSlowedForChar:(NSManagedObject *)obj;
+(BOOL)featHasAMaxRange:(NSManagedObject *)feat;
+(BOOL)generallyFeatShouldActivate:(NSManagedObject *)feat;
+(BOOL)startingCombatFeatShouldActivate:(NSManagedObject *)feat;
+(BOOL)inCombatFeatShouldActivate:(NSManagedObject *)feat;
+(BOOL)targetedFeatShouldActivate:(NSManagedObject *)feat
						 forRange:(int)range;
+(BOOL)xValueInUse:(NSManagedObject *)feat;
+(BOOL)aMaxFeatSelectedForKey:(NSString *)key
					 forFeats:(NSArray *)feats;
+(BOOL)checkIfFeat:(NSManagedObject *)feat
	  worksWithKey:(NSString *)key;
+(NSString *)modifyString:(NSString *)str
			 byMultiplier:(NSString *)mod;
@end
